<?php

require_once(BaseConfig::LoadClass('objeto_base.class.php'    ));
require_once(BaseConfig::LoadClass('filtro.class.php'         ));
require_once(BaseConfig::LoadClass('abc.class.php'            ));
require_once(BaseConfig::LoadClass('carga_excel.class.php'    ));
require_once(BaseConfig::LoadClass('plugin_abc.class.php'     ));

class Plugin_Inventario_MuestraLigaEdicion extends PluginABC {
  function Plugin_Inventario_MuestraLigaEdicion() {
    $this->strNombreBoton   = "Informacion";
    $this->bolLlevaDosPasos = false   ;
  }
  
  function EjecutarPlugin() {
    // Se necesita presentar la info, por lo que el buscador se modifica
    unset($_SESSION["Filtros"]["OrdenTrabajo"]);
    $_SESSION["Filtros"]["OrdenTrabajo"]["Pagina"    ] = 0;
    $_SESSION["Filtros"]["OrdenTrabajo"]["OrdenExtra"] = "";
    
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["columna"] = "id_equipo";
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["op"     ] = "=";
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["valor"  ] = $this->__oObjetoAplicado->intIdInventario;
    $_SESSION["Filtros"]["OrdenTrabajo"]["Filtro"][0]["visible"] = "1";
    
    header("Location:index.php?option=abc_ordenes_trabajo");
    die;
  }
}

class Inventario extends ObjetoBase {
  var $intIdInventario ;
  var $dteFecha        ;
  var $strTipoMonta    ;
  var $strNoEco        ;
  var $strMarca        ;
  var $strModelo       ;
  var $strSerie        ;
  
  var $strTipo         ;
  var $strColumna1     ;
  var $strCapacidad    ;
  var $strAltura       ;
  var $strNoTanque     ;
  var $strNoControlador;
  
  var $strNoMontaInsta ;
  var $strEmpresaAct   ;
  var $strDireccionAct ;
  var $strNoInventario ;
  var $strFechaInv     ;
  var $strRealizadoPor ;
  var $strMes0         ;
  var $strMes1         ;
  var $strMes2         ;
  var $strMes3         ;
  var $strMes4         ;
  var $strMes5         ;
  var $strMes6         ;
  var $strMes7         ;
  var $strMes8         ;
  
  function Inventario($intIdInventario = 0) {
    $arrMapaDatos = Array();
    $arrMapaDatos['id_inventario'   ] = Array('NombreVariable' => 'intIdInventario' , 'TipoVariable' => 'I');
    $arrMapaDatos['fecha'           ] = Array('NombreVariable' => 'dteFecha'        , 'TipoVariable' => 'D');
    $arrMapaDatos['tipo_monta'      ] = Array('NombreVariable' => 'strTipoMonta'    , 'TipoVariable' => 'S');
    $arrMapaDatos['no_eco'          ] = Array('NombreVariable' => 'strNoEco'        , 'TipoVariable' => 'S');
    $arrMapaDatos['marca'           ] = Array('NombreVariable' => 'strMarca'        , 'TipoVariable' => 'S');
    $arrMapaDatos['modelo'          ] = Array('NombreVariable' => 'strModelo'       , 'TipoVariable' => 'S');
    $arrMapaDatos['serie'           ] = Array('NombreVariable' => 'strSerie'        , 'TipoVariable' => 'S');
    
    $arrMapaDatos['tipo'            ] = Array('NombreVariable' => 'strTipo'         , 'TipoVariable' => 'S');
    $arrMapaDatos['columna1'        ] = Array('NombreVariable' => 'strColumna1'     , 'TipoVariable' => 'S');
    $arrMapaDatos['capacidad'       ] = Array('NombreVariable' => 'strCapacidad'    , 'TipoVariable' => 'S');
    $arrMapaDatos['altura'          ] = Array('NombreVariable' => 'strAltura'       , 'TipoVariable' => 'S');
    $arrMapaDatos['no_tanque'       ] = Array('NombreVariable' => 'strNoTanque'     , 'TipoVariable' => 'S');
    $arrMapaDatos['no_controlador'  ] = Array('NombreVariable' => 'strNoControlador', 'TipoVariable' => 'S');
    
    $arrMapaDatos['no_monta_insta'  ] = Array('NombreVariable' => 'strNoMontaInsta' , 'TipoVariable' => 'S');
    $arrMapaDatos['empresa_act'     ] = Array('NombreVariable' => 'strEmpresaAct'   , 'TipoVariable' => 'S');
    $arrMapaDatos['direccion_act'   ] = Array('NombreVariable' => 'strDireccionAct' , 'TipoVariable' => 'S');
    $arrMapaDatos['no_inventario'   ] = Array('NombreVariable' => 'strNoInventario' , 'TipoVariable' => 'S');
    $arrMapaDatos['fecha_inventario'] = Array('NombreVariable' => 'strFechaInv'     , 'TipoVariable' => 'S');
    $arrMapaDatos['realizado_por'   ] = Array('NombreVariable' => 'strRealizadoPor' , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_0'           ] = Array('NombreVariable' => 'strMes0'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_1'           ] = Array('NombreVariable' => 'strMes1'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_2'           ] = Array('NombreVariable' => 'strMes2'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_3'           ] = Array('NombreVariable' => 'strMes3'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_4'           ] = Array('NombreVariable' => 'strMes4'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_5'           ] = Array('NombreVariable' => 'strMes5'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_6'           ] = Array('NombreVariable' => 'strMes6'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_7'           ] = Array('NombreVariable' => 'strMes7'         , 'TipoVariable' => 'S');
    $arrMapaDatos['mes_8'           ] = Array('NombreVariable' => 'strMes8'         , 'TipoVariable' => 'S');
    
    $this->__ArmarDatosPrivados('inventario', $arrMapaDatos, 'id_inventario');
    $this->SeleccionarPorIndice($intIdInventario);
  }
}

class FiltroInventario extends Filtro {
  function FiltroInventario() {
    $arrProceso['fecha'           ] = "Fecha";
    $arrProceso['tipo_monta'      ] = "Tipo Monta";
    $arrProceso['no_eco'          ] = "No ECO";
    $arrProceso['marca'           ] = "MARCA";
    $arrProceso['modelo'          ] = "MODELO";
    $arrProceso['serie'           ] = "SERIE";
    
    $arrProceso['tipo'            ] = "TIPO";
    $arrProceso['columna1'        ] = "COLUMNA 1";
    $arrProceso['capacidad'       ] = "CAPACIDAD";
    $arrProceso['altura'          ] = "ALTURA";
    $arrProceso['no_tanque'       ] = "No TANQUE";
    $arrProceso['no_controlador'  ] = "No CONTROLADOR";
    
    $arrProceso['no_monta_insta'  ] = "No DE MONTACARGAS QUE ESTA INSTALADA";
    $arrProceso['empresa_act'     ] = "EMPRESA ACTUAL";
    $arrProceso['direccion_act'   ] = "DIRECCION ACTUAL";
    $arrProceso['no_inventario'   ] = "No DE INVENTARIO";
    $arrProceso['fecha_inventario'] = "FECHA DE INVENTARIO";
    $arrProceso['realizado_por'   ] = "REALIZADO POR";
    $arrProceso['mes_0'           ] = "Mes 0";
    $arrProceso['mes_1'           ] = "Mes 1";
    $arrProceso['mes_2'           ] = "Mes 2";
    $arrProceso['mes_3'           ] = "Mes 3";
    $arrProceso['mes_4'           ] = "Mes 4";
    $arrProceso['mes_5'           ] = "Mes 5";
    $arrProceso['mes_6'           ] = "Mes 6";
    $arrProceso['mes_7'           ] = "Mes 7";
    $arrProceso['mes_8'           ] = "Mes 8";
    
    parent::CrearFiltro("inventario", "id_inventario", $arrProceso, "Busqueda", "", "", "Inventario");
  }
}

class Carga_Inventario extends CargaExcel {
  function Carga_Inventario() {
    parent::CargaExcel();
    $arrProceso['no_eco'          ] = "No ECO";
    $arrProceso['marca'           ] = "MARCA";
    $arrProceso['modelo'          ] = "MODELO";
    $arrProceso['serie'           ] = "SERIE";
    $arrProceso['no_monta_insta'  ] = "No DE MONTACARGAS QUE ESTA INSTALADA";
    $arrProceso['empresa_act'     ] = "EMPRESA ACTUAL";
    $arrProceso['direccion_act'   ] = "DIRECCION ACTUAL";
    $arrProceso['no_inventario'   ] = "No DE INVENTARIO";
    $arrProceso['fecha_inventario'] = "FECHA DE INVENTARIO";
    $arrProceso['realizado_por'   ] = "REALIZADO POR";
    $arrProceso['mes_0'           ] = "Mes 0";
    $arrProceso['mes_1'           ] = "Mes 1";
    $arrProceso['mes_2'           ] = "Mes 2";
    $arrProceso['mes_3'           ] = "Mes 3";
    $arrProceso['mes_4'           ] = "Mes 4";
    $arrProceso['mes_5'           ] = "Mes 5";
    $arrProceso['mes_6'           ] = "Mes 6";
    $arrProceso['mes_7'           ] = "Mes 7";
    
    $arrReferencias = array();
    
    $this->Init("Inventario", "inventario", $arrProceso, $arrReferencias);
    
    $this->bolManejarPaginasTodas =  true;
    $this->intPrimeraLinea        =     0;
    $this->intCargarSoloCompleto  =     0;
    $this->bolLimpiarTablaAntes   = true;
    
    $this->__arrInfoSaltarLinea[] = "ITEM";
    $this->arrValoresConstantes["fecha"     ] = date("Y-m-d");
    $this->arrValoresConstantes["tipo_monta"] = "%nombrePagina%";
  }
  
  function PrepararArchivo() {
    $this->oLoadXLS->arrTiposChequeo[] = "S-"; $this->__arrInfoChequeo[] = "S-";
    $this->oLoadXLS->arrTiposChequeo[] = "S-"; $this->__arrInfoChequeo[] = "S-";
    $this->oLoadXLS->arrTiposChequeo[] = "S-"; $this->__arrInfoChequeo[] = "S-";
    $this->oLoadXLS->arrTiposChequeo[] = "S-"; $this->__arrInfoChequeo[] = "S-";
    $this->oLoadXLS->arrTiposChequeo[] = "S-"; $this->__arrInfoChequeo[] = "S-";
    $this->oLoadXLS->arrTiposChequeo[] = "S-"; $this->__arrInfoChequeo[] = "S-";
    
    $this->__arrInfoCarga_0 = $this->__arrInfoCarga;
    
    $this->__arrInfoCarga_1[ 0] = "no_eco";
    $this->__arrInfoCarga_1[ 1] = "marca";
    $this->__arrInfoCarga_1[ 2] = "modelo";
    $this->__arrInfoCarga_1[ 3] = "serie";
    $this->__arrInfoCarga_1[ 4] = "tipo";
    $this->__arrInfoCarga_1[ 5] = "columna1";
    $this->__arrInfoCarga_1[ 6] = "capacidad";
    $this->__arrInfoCarga_1[ 7] = "altura";
    $this->__arrInfoCarga_1[ 8] = "no_tanque";
    $this->__arrInfoCarga_1[ 9] = "no_controlador";
    $this->__arrInfoCarga_1[10] = "empresa_act";
    $this->__arrInfoCarga_1[11] = "direccion_act";
    $this->__arrInfoCarga_1[12] = "mes_0";
    $this->__arrInfoCarga_1[13] = "mes_1";
    $this->__arrInfoCarga_1[14] = "mes_2";
    $this->__arrInfoCarga_1[15] = "mes_3";
    $this->__arrInfoCarga_1[16] = "mes_4";
    $this->__arrInfoCarga_1[17] = "mes_5";
    $this->__arrInfoCarga_1[18] = "mes_6";
    $this->__arrInfoCarga_1[19] = "mes_7";
    $this->__arrInfoCarga_1[20] = "no_inventario";
    $this->__arrInfoCarga_1[21] = "fecha_inventario";
    $this->__arrInfoCarga_1[22] = "realizado_por";
    
    foreach($this->oLoadXLS->xlsArchivo->sheets as $intPage => $arrInfoPage) {
      foreach($arrInfoPage["cells"] as $intRow => $arrInfoRow) {
        if(!isset($arrInfoRow[2])) {
          unset($this->oLoadXLS->xlsArchivo->sheets[$intPage]["cells"][$intRow]);
          continue;
        }
        if(trim($arrInfoRow[2]) == "") {
          unset($this->oLoadXLS->xlsArchivo->sheets[$intPage]["cells"][$intRow]);
          continue;
        }
        if(trim(strtoupper($arrInfoRow[2])) == "MARCA") {
          unset($this->oLoadXLS->xlsArchivo->sheets[$intPage]["cells"][$intRow]);
          continue;
        }
      }
    }
  }
  
  function CambioLineaAGuardar($intLinea) {
    if(trim($this->oLoadXLS->arrInfoExtra[$intLinea]["nombre_sheet"]) == "MONTACARGAS") {
      $this->__arrInfoCarga = $this->__arrInfoCarga_1;
    } else {
      $this->__arrInfoCarga = $this->__arrInfoCarga_0;
    }
  }
}


class ABC_Inventario extends ABC_Base {
  function ABC_Inventario() {
    $strClaseBase     = "Inventario"      ;
    $strClaseFiltro   = "FiltroInventario";
    $strClaseCarga    = "Carga_Inventario";
    $strCampoMostrar  = "codigo"          ;
    $strOpcionListado = "abc_inventario"  ;
    $strOpcionGuardar = "abc_inventario"  ;

    $arrNombresColumnas = array();
    $arrNombresColumnas['fecha'           ] = "Fecha";
    $arrNombresColumnas['tipo_monta'      ] = "Tipo Monta";
    $arrNombresColumnas['no_eco'          ] = "No ECO";
    $arrNombresColumnas['marca'           ] = "MARCA";
    $arrNombresColumnas['modelo'          ] = "MODELO";
    $arrNombresColumnas['serie'           ] = "SERIE";
    
    $arrNombresColumnas['tipo'            ] = "TIPO";
    $arrNombresColumnas['columna1'        ] = "COLUMNA 1";
    $arrNombresColumnas['capacidad'       ] = "CAPACIDAD";
    $arrNombresColumnas['altura'          ] = "ALTURA";
    $arrNombresColumnas['no_tanque'       ] = "No TANQUE";
    $arrNombresColumnas['no_controlador'  ] = "No CONTROLADOR";
    
    $arrNombresColumnas['no_monta_insta'  ] = "No DE MONTACARGAS QUE ESTA INSTALADA";
    $arrNombresColumnas['empresa_act'     ] = "EMPRESA ACTUAL";
    $arrNombresColumnas['direccion_act'   ] = "DIRECCION ACTUAL";
    $arrNombresColumnas['no_inventario'   ] = "No DE INVENTARIO";
    $arrNombresColumnas['fecha_inventario'] = "FECHA DE INVENTARIO";
    $arrNombresColumnas['realizado_por'   ] = "REALIZADO POR";
    $arrNombresColumnas['mes_0'           ] = "Mes 0";
    $arrNombresColumnas['mes_1'           ] = "Mes 1";
    $arrNombresColumnas['mes_2'           ] = "Mes 2";
    $arrNombresColumnas['mes_3'           ] = "Mes 3";
    $arrNombresColumnas['mes_4'           ] = "Mes 4";
    $arrNombresColumnas['mes_5'           ] = "Mes 5";
    $arrNombresColumnas['mes_6'           ] = "Mes 6";
    $arrNombresColumnas['mes_7'           ] = "Mes 7";
    $arrNombresColumnas['mes_8'           ] = "Mes 8";

    $arrReferencias = array();
    
    $this->Inicializar($strClaseBase, $arrNombresColumnas, $strOpcionListado, $strOpcionGuardar, $strCampoMostrar, $strClaseFiltro, $arrReferencias, "", $strClaseCarga);
    
    $this->bolABCLista                = true;
    $this->bolABCListaOcultarTD       = true;
    $this->bolPosibleNuevoElemento    = true;
    $this->intTipoGuardado            = 1;
    $this->intNumeroRes               = 20;
    $this->bolSoloLectura             = false;
    $this->bolPluginsLocalesIzquierda = true;
    $this->arrPlugIns["Locales"][]    = "Plugin_Inventario_MuestraLigaEdicion";
  }
}

?>